"""
    # @author: russianready
    # 开发时间： 2021/8/11 15:44
    # 版本V1.0

    # 版本V1.1
    # 时间： 2021/8/3 20:12
        1、保留位数修改为4位。
        2、数据计算方式的修改，不需要除以天数
        3、最后增加一列全年值的功能
        4、单元格数据的修改。

    # 版本V1.2
    # 时间： 2021/8/6 10:15
        1、界面修改和一些美化
        2、修改了R值计算为水利部门模型
        3、增加了一个北师大模型pd12、py12的计算函数
        4、框架的重新修改和整理
    
    # 版本V1.3
    # 时间 2021/8/8 15:16
        1、界面的修改美化
        2、对于北师大模型增加了pd12,py12,beta,alpha的输出
    
    # 版本V1.4
    # 时间 2021/8/9 23:02
         1、细枝末节的修改 
            1.1、一些小数点的尾数的修改
            1.2、表头的修改
         2、增加了M值平均值的功能。
        # 版本V1.4.1
        # 时间 2021/8/9 20：42
            1、若干bug修复
                * 两个模型中，alpha参数的共享问题
                * 输出的时候sheet名字的命名问题
            2、数据的输出修改优化。
        # V1.4.2
            * 功能bug修复
        # V1.4.3
            * 为水利模型增加了计算M值的计算
        #V1.4.4
            * 缺失值的逻辑处理修改
            * 输出、输入文件可以直接在输入栏修改。
            * 输出文件夹和文件形式的修改。
            * 增加了输出eroPXXXX年数据
        #V1.4.5
            * bug修复，Py12统计方式出错。
        #V1.4.6
            * 若干输出格式的修改
            * 增加输出的数据量
        #V1.4.7
            * 增加了西南大学模型
            * 界面增加了西南大学模型
        #V1.4.8
            * 界面修改
            * 增加了可以自行选择处理哪个sheet的功能
        #V1.4.9
            * 输出数据的修改
            * 添加输出一年的全部数据的功能
    #版本V1.5
    #时间2021/8/17 16:56
        * 加了一些异常处理
        * 添加了转换系数
        * 增加了一定的提示
    #版本V1.5.1
        * 增加了计算M月份和的功能
    #版本V1.5.2
        * 增加了添加epro的功能
    #V1.5.3
        * erop累加bug的修复
    #V1.5.3.1
        * 少量字段的修改
    #V1.5.4
        * 添加了一个树形数据框
    #1.5.4.1
        * 修复了不能一般处理的bug
    #1.5.5
        * 修复了均值处理异常
        * 提升了小部分性能
    #1.5.5.1
        * 增加了可以自己添加数据的功能
        * 界面的优化与修改
    #V1.5.5.2
        * 界面重新排布
        * 增加了从excel文件获取pdpy数据的功能
    #V1.5.5.3
        * 一些小bug的修复
    #V1.5.5.4
        *  小bug修复
    #V1.5.6
        * R 值计算结果bug修复
        * py pd计算逻辑和方式的修改
    #V1.5.6.1
        * 修复了选择新的数据时，不会重新读取新的excel的bug
    #V1.5.6.2
        * 修复了第二次处理时候，years没有重置导致出错的bug
    #V1.5.6.3
        * 算法修改：计算py值不考虑非0值
    #V1.5.6.4 2022-6-1
        * 计算py算法进一步修正，除去非0值计算，使结果更加精确
        # 个别提示的修改
    #V1.5.7
        # 修正了一个逻辑bug（产自于modify_year的逻辑判断错误

"""

"""
    该文件存放会共同使用的数据
"""


class Data:

    """水利部门的参数"""
    warmth = 0.3937     # alpha 暖季参数
    cold = 0.3101       # alpha 冷季参数
    exp1 = 1.7265       # 水利部门计算指数

    """北师大模型的参数"""
    # β = 0.8363 + 18.144/pd12 + 24.455/py12
    a1 = 0.8363  # beta 的三个参数
    a2 = 18.144  # 1.144->18.177 更正回去
    a3 = 24.455
    alpha = 21.586
    exp2 = -7.1891

    beta = None
    pd12 = True
    py12 = True

    # 用户自定义的py pd变量
    user_value = False
    pd_value = None
    py_value = None

    """西南大学模型的参数"""
    # value = 2.2944*p + 0.066*p^2
    sw_a1 = 2.2944
    sw_a2 = 0.0660
    sw_turn_a = 1.0000  #  转换系数

    """共同参数"""
    in_folder = ''      # 输入文件
    out_folder = ''     # 输出文件
    pdpy_excel_file = ''     # 自定义的pdpy文件

    dict_of_all_excel = {}
    user_pdpy_data = {}   # 用户自定义的pdpy数据
    years = []
    TYPE = ""
    pd_number = '10'   # 用来控制py、pd后的数字
    names = []  # 要处理的sheet表格

    pd_data = {}  # pd的data
    py_data = {}  # py的data
    modify_year = {} # 用来修正年份、py值的 station-year 字典

    max_day_rain_num = 10.00   # 控制日降雨量大于等于多少
    recent = '水利部门模型'       # 决定要使用哪个模型
    version = 'V1.5.7'         # 当前版本
    title = "RUSLE方程R值计算"       # 名字和版本控制

